"""
@Project: pythonPro1
@Name: numpy_note.py
@Author: linxin_liu
@Date: 2022/10/20 19:56

numpy内置了并行运算功能，当系统有多个核心时，做某种计算时，numpy会自动做并行计算。
Numpy底层使用C语言编写，数组中直接存储对象，而不是存储对象指针，所以其运算效率远高于纯Python代码。

ndarray:
# 用的多
int_ 默认的整数类型（类似于 C 语言中的 long，int32 或 int64）
uint8 无符号整数（0 to 255）
uint32 无符号整数（0 to 4294967295）
float_ float64类型的简写
complex_ complex128 类型的简写，即 128 位复数
numpy的数值类型实际上是dtype对象的实例，并对应唯一的字符，包括np.float32等。

intc 与 C 的 int 类型一样，一般是 int32 或 int 64
int8 字节（-128 to 127）
int16 整数（-32768 to 32767）
int32 整数（-2147483648 to 2147483647）
int64 整数（-9223372036854775808 to 9223372036854775807）
uint8 无符号整数（0 to 255）
uint16 无符号整数（0 to 65535）
uint32 无符号整数（0 to 4294967295）
uint64 无符号整数（0 to 18446744073709551615）
float_ float64类型的简写
float16 半精度浮点数，包括：1 个符号位，5 个指数位，10 个尾数位
float32 单精度浮点数，包括：1 个符号位，8 个指数位，23 个尾数位
float64 双精度浮点数，包括：1 个符号位，11 个指数位，52 个尾数位
complex_ complex128 类型的简写，即 128 位复数
complex64 复数，表示双 32 位浮点数（实数部分和虚数部分）
complex128 复数，表示双 64 位浮点数（实数部分和虚数部分）

"""
import numpy as np

arrays = np.zeros((5, 7), dtype=np.uint8)
# print('数组轴(维度)的数量：', arrays.ndim)
# print('数组维度：', arrays.shape)
# print('数组元素数量：', arrays.size)
# print('数组对象的元素类型：', arrays.dtype)
# print('数组对象的元素大小：', arrays.itemsize)
# print('数组对象的内存信息：', arrays.flags)
# print('数组对象的元素类型：', arrays.dtype)
# print('数组对象的元素实部：', arrays.real)
# print('数组对象的元素虚部：', arrays.imag)
print(arrays)
for x in np.nditer(arrays):
    print(x)
